Writing An Interpreter In Go
https://gyazo.com/60fa14a8eca476709b47d4e75468e86c
2022/6/14
2022/6/22
Thorsten Ball『Writing An Interpreter In Go』読了。間違いなく良書。平易な英語とフレンドリーな語り口、テストと実装を行き来する堅実な展開により、機能が充実していくのを楽しみながら取り組むことができた。インタプリタに関する基礎概念が揃うので、ここから次のステップへ進むのも容易になるだろう。例えばRustで関数型に書き直すとか
In this book we will create a programming language together.
We'll start with 0 lines of code and end up with a fully working interpreter for the Monkey* programming language.
Step by step. From tokens to output. All code shown and included. Fully tested.
Buy this book to learn:
How to build an interpreter for a C-like programming language from scratch
What a lexer, a parser and an Abstract Syntax Tree (AST) are and how to build your own
What closures are and how and why they work
What the Pratt parsing technique and a recursive descent parser is
What others talk about when they talk about built-in data structures
What REPL stands for and how to build one
Why this book?
This is the book I wanted to have a year ago. This is the book I couldn't find. I wrote this book for you and me.
So why should you buy it? What's different about it, compared to other interpreter or compiler literature?
Working code is the focus. Code is not just found in the appendix. Code is the main focus of this book.
It's small! It has around 200 pages of which a great deal is readable, syntax-highlighted, working code.
The code presented in the book is easy to understand, easy to extend, easy to maintain.
No 3rd party libraries! You're not left wondering: "But how does tool X do that?" We won't use a tool X. We only use the Go standard library and write everything ourselves.
Tests! The interpreter we build in the book is fully tested! Sometimes in TDD style, sometimes with the tests written after. You can easily run the tests to experiment with the interpreter and make changes.